<?php

namespace Org\Recour;

use Think\Controller;
/**
* 
*@param
*@author  Eayon
*@since 1.1
*修改了权限判断顺序，上一版是先判断用户有没有登录，修改之后是先判断是否是免登录
*@return 
*/

abstract class RecourController extends Controller {
	private $url_fliter = ''; // 过滤路径
	public function __construct() {
		parent::__construct ();
		// 解决乱码问题
		header ( "content-type:text/html;charset=utf-8" );
		/* 权限过滤 */
		$this->url_fliter = array (
				strtolower ( MODULE_NAME ),
				strtolower ( MODULE_NAME . '-' . CONTROLLER_NAME ),
				strtolower ( MODULE_NAME . '-' . CONTROLLER_NAME . '-' . ACTION_NAME ) 
		);
		
		
		/*判断是不是ajax如果不是就把路径保存下来*/
// 		  if (! IS_AJAX) {
// 			$seeion_no_login_url = C ( "SESSION_NO_LOGIN_URL" );
// 			$now_url = strtolower ( MODULE_NAME . '-' . CONTROLLER_NAME . '-' . ACTION_NAME );
// 			if (! in_array ( $now_url, $seeion_no_login_url ))
// 				session('NO_LOGIN_URL', get_url ());
// 		} 
		
		
// 		// 判断是否登录
// 		if (! common_filter_login ()) {// 判断是否需要登录
// 			if (!common_user_is_login()) {  // 没有登录
// 				$this->no_login ();
// 			}else if(!common_filter_auth ()){ // 判断有没有权限进入
// 				$this->no_auth ();
// 			}
// 		} 
	}
	
	/*
	 * 登录验证 返回值：true [不需要登录]
	 */
/* 	private function filter_login() {
		$authRuleOutModel = D ( "AuthRuleOut" );
		if (isset ( $_SESSION [C ( "SEESION_AUTH_RULE_OUT" )] )) {
			$result = $_SESSION [C ( "SEESION_AUTH_RULE_OUT" )];
		} else {
			$result = $authRuleOutModel->select ();
			session ( C ( "SEESION_AUTH_RULE_OUT" ), $result );
		}
		
		foreach ( $result as $val ) {
			if (in_array ( $val ['name'], $this->url_fliter )) {
				return true;
			}
		}
		return false;
	} */
	
	/*
	 * 权限验证
	 */
/* 	private function filter_auth() {
		if(C('SUPER_ADMIN') == common_user_session_info()['username']){
			return true;
		}
		
		$auth = new \Org\Util\Auth ();
		if (! $auth->check ( implode ( ',', $this->url_fliter ), common_user_session_info()['id'] )) {
			return false;
		}
		return true;
	} */
	
	// 未登录时被调用
	abstract protected function no_login();
	// 没有权限是被调用
	abstract protected function no_auth();
}